package icu.qx.qc.service;

import java.util.List;

import icu.qx.qc.domain.QcOutgoingQuality;
import icu.qx.qc.domain.QcQualityProject;

/**
 * 出货检验单Service接口
 *
 * @author yong
 * @date 2024-06-25
 */
public interface IQcOutgoingQualityService {
    /**
     * 查询出货检验单
     *
     * @param outQuaCode 出货检验单主键
     * @return 出货检验单
     */
    public QcOutgoingQuality selectQcOutgoingQualityByOutQuaCode(String outQuaCode);

    /**
     * 查询出货检验单列表
     *
     * @param qcOutgoingQuality 出货检验单
     * @return 出货检验单集合
     */
    public List<QcOutgoingQuality> selectQcOutgoingQualityList(QcOutgoingQuality qcOutgoingQuality);

    /**
     * 新增出货检验单
     *
     * @param qcOutgoingQuality 出货检验单
     * @return 结果
     */
    public int insertQcOutgoingQuality(QcOutgoingQuality qcOutgoingQuality, List<QcQualityProject> selectedProjectList);

    /**
     * 修改出货检验单
     *
     * @param qcOutgoingQuality 出货检验单
     * @return 结果
     */
    public int updateQcOutgoingQuality(QcOutgoingQuality qcOutgoingQuality, List<QcQualityProject> selectedProjectList);

    /**
     * 批量删除出货检验单
     *
     * @param outQuaCodes 需要删除的出货检验单主键集合
     * @return 结果
     */
    public int deleteQcOutgoingQualityByOutQuaCodes(String[] outQuaCodes);

    /**
     * 删除出货检验单信息
     *
     * @param outQuaCode 出货检验单主键
     * @return 结果
     */
    public int deleteQcOutgoingQualityByOutQuaCode(String outQuaCode);
}
